Skip to content

ReAbout/audit-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java代码审计手册

【声明】个人的快速查询手册,经验整理,仅供参考。
【内容】本手册主要关注于Java漏洞挖掘而非利用,漏洞利用在WEB 安全手册有总结。复现案例分析也是关注漏洞原理,通过调试分析加强对漏洞产生模式理解,辅助漏洞挖掘。

0x00 环境准备篇

Idea,VSCode

Evaluate Expression

持续更新java反编译工具,越来越好用

0x01 基础知识篇

如果我们不用import就能获取一个类,那这就是反射了

使用代理对象来代替对真实对象的访问,可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能

JNDI和RMI关系:简单的来说就是RMI注册的服务可以让JNDI应用程序来访问调用。

0x02 漏洞挖掘篇

1. 注入漏洞

高版本JDK对JNDI远程调用进行了限制

表达式注入

Java表达式语言包括:EL,SPEL,OGNL,MVEL,JBoss EL...

2. 反序列化漏洞

反序列化漏洞点

反序列化漏洞链

3. 不安全的文件操作

4. 不安全的组件

组件

Web容器&框架

0x03 自动化漏洞挖掘

静态分析

需要源码,对闭源jar不友好

自动挖掘反序列化链

threedr3am的改版增加了一些功能参数

Tai-e静态分析框架,南京大学软件分析配套框架,有完整的教学和实验文档,很适合从头学习

针对android java漏洞挖掘工具

TABBY使用静态分析框架 Soot 作为语义提取工具,将JAR/WAR/CLASS文件转化为代码属性图。 并使用 Neo4j 图数据库来存储生成的代码属性图CPG。

About

Java代码审计手册,关注于漏洞挖掘而非利用【持续更新】

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages